package com.cn.wanxi.service.impl;

import com.cn.wanxi.dao.INewsTypeDao;
import com.cn.wanxi.dao.impl.NewsTypeDaoImpl;
import com.cn.wanxi.model.NewsTypeModel;
import com.cn.wanxi.service.INewsTypeService;
import redis.clients.jedis.Jedis;

import java.util.List;

public class NewsTypeServiceImpl implements INewsTypeService {

    INewsTypeDao newsTypeDao = new NewsTypeDaoImpl();
    @Override
    public NewsTypeModel getNewsType(int id) {
        return newsTypeDao.getNewsType(id);
    }

    @Override
    public int addNewsType(NewsTypeModel newsType) {
        return newsTypeDao.addNewsType(newsType);
    }

    @Override
    public int editNewsType(NewsTypeModel newsType) {
        return newsTypeDao.editNewsType(newsType);
    }

    @Override
    public int deleteNewsType(int id) {
        return newsTypeDao.deleteNewsType(id);
    }

    @Override
    public List<NewsTypeModel> getNewsTypeList() {
        Jedis jedis = new Jedis();
        if (jedis.exists("news_type_id")){
            return newsTypeDao.getNewsTypeListByRedis();
        }else {
            List<NewsTypeModel> list = newsTypeDao.getNewsTypeList();
            newsTypeDao.setNewsTypeListInRedis(list);
            return list;
        }
    }

    @Override
    public List<NewsTypeModel> getNewsTypeList(int page, int size) {
        return newsTypeDao.getNewsTypeList(page, size);
    }

    @Override
    public List<NewsTypeModel> getNewsTypeList(int page, int size, String sort) {
        return newsTypeDao.getNewsTypeList(page, size, sort);
    }

    @Override
    public List<NewsTypeModel> searchNewsType(String sql) {
        return newsTypeDao.searchNewsType(sql);
    }

    @Override
    public long getNewsTypeCount() {
        return newsTypeDao.getNewsTypeCount();
    }

    @Override
    public int updateEnable(int id, int enable) {
        return newsTypeDao.updateEnable(id,enable);
    }
}
